﻿using SupportLayer.Constantes.OUTROS;
using SupportLayer.Enums;
using SupportLayer.Objetos.Produto;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace ByBikeShop.Administracao.Pages
{
	public partial class Dimensoes : BaseAdmin
	{
		public Int64 GetProdutoID
		{
			get
			{
				if ((Request.QueryString[OUTROS.PRODUTO_ID] == null) ||
								(Request.QueryString[OUTROS.PRODUTO_ID].ToString() == string.Empty))
					return 0;

				return Convert.ToInt64(Request.QueryString[OUTROS.PRODUTO_ID].ToString());
			}
		}
		public Acao GetAcao
		{
			get
			{
				if ((Request.QueryString[OUTROS.ACAO] == null) ||
								(Request.QueryString[OUTROS.ACAO].ToString() == string.Empty))
					return Acao.VER;

				if (GetProdutoID > 0)
					return Acao.EDITAR;

				return (Acao)Convert.ToInt32((Request.QueryString[OUTROS.ACAO].ToString()));
			}
			private set { ;}
		}
		protected void Page_Load(object sender, EventArgs e)
		{
			base.PageLoad(false);
		}

		public override void CarregaDados()
		{
			if (GetProdutoID > 0)
			{
				ProdutoClass Produto = new ProdutoClass();
				Produto = BProduto.SelectProduto(GetProdutoID, false, false);

				if (Produto.DimensoesID > 0)
				{
					DimensoesClass Dimensao = new DimensoesClass();
					Dimensao = BProduto.SelectDimensao(Produto.DimensoesID);

					lblDimensaoID.Text = Dimensao.ID.ToString();
					txtPeso.Text = Dimensao.Peso.ToString();
					//ddlCorreios.Items.FindByValue("").Selected = true;
				}

			}
		}
		public override void CarregaGrid()
		{
		}
		public override void PopulaGrid()
		{
		}

		protected void btnSalvar_Click(object sender, EventArgs e)
		{
			try
			{
				if (txtPeso.Text == string.Empty)
					throw new ApplicationException("O campo peso está vazio, digite a informação.");

				DimensoesClass Dimensao = new DimensoesClass();
				Dimensao.Peso = Int64.Parse(txtPeso.Text);

				if (GetAcao == Acao.EDITAR) //Esta no Page Load
				{
					ProdutoClass prod_dim = new ProdutoClass();
					prod_dim = BProduto.SelectProduto(GetProdutoID, false, false);

					if (prod_dim.DimensoesID > 0)
					{
						Dimensao.ID = prod_dim.DimensoesID;
						BProduto.UpdateDimensao(Dimensao);
					}
					else
					{
						prod_dim.DimensoesID = BProduto.InsertDimensao(Dimensao);
						BProduto.UpdateProduto(prod_dim);
					}

				}
				if (GetAcao == Acao.ADICIONAR)
				{
					Dimensao.ID = BProduto.InsertDimensao(Dimensao);
				}

				//se nao tiver um id valido, cadastrar as dimensões e salvar no banco de dados
			}

			catch (Exception)
			{
				throw;
			}
		}
	}
}